#include <stdio.h>
#include <unistd.h>
//设置打印一个100%的进度条
int main()
{
    char bar[102]={0};//最好将数组进行初始化，因为每次打印都使遇'\0'结束

    const char *str="|/-\\";//这里设置一个动态的标志（想打印'\'，需要转义）
    int i=0;
    for(i=0;i<=100;++i)//从 0%---100%，这样会打印101次
    {
        printf("[%-100s][%c][%d%%]\r",bar,str[i%4],i);
        //这里打印用到%-100s左对齐（中间预留100个位置）
        //并且这只需要回车（回到行首），不需要换行用到 '\r'
        //但是没有换行的话，就只能等进行结束才能输出
        //所以这里用到强制刷新输出缓冲区
        fflush(stdout);
        bar[i]='#';
        usleep(50000);
    }
    printf("\n");
    return 0;
}
